package com.br.fiscalizacao.domain;

import com.br.fiscalizacao.reference.ConclusaoFormMinicom;
import com.br.fiscalizacao.reference.RespRelatorio;
import com.br.fiscalizacao.reference.TipoAuditoria;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Enumerated;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;

@RooJavaBean
@RooToString
@RooJpaActiveRecord(finders = { "findCheckListMinicomsByDataFiscalizacaoBetweenOrConventeLikeOrConclusaoOrDocumentooEqualsOrTipoAuditoriaOrCapacitacaoMcOrFuncionamentoOrGesacOr" })
public class CheckListMinicom {

    private int numFiscalizacao;

    private int processo;

    @Enumerated
    private TipoAuditoria tipoAuditoria;

    @Size(max = 150)
    private String convente;

    private int cnpjResponsavel;

    @Size(max = 150)
    private String responsavel;

    @Size(max = 150)
    private String cargoEpoca;

    @Past
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date dataFiscalizacao;

    @Size(max = 150)
    private String responsavelTc;

    @Size(max = 150)
    private String enderecoTc;

    private int dimensaoMinima;

    @Enumerated
    private RespRelatorio placaIdentificacao;

    @Enumerated
    private RespRelatorio seguranca;

    @Enumerated
    private RespRelatorio combatefIncendio;

    @Enumerated
    private RespRelatorio rampaEntrada;

    @Enumerated
    private RespRelatorio banheiroAdaptado;

    @Enumerated
    private RespRelatorio foneOuvido;

    @Enumerated
    private RespRelatorio aguaPotavel;

    @Enumerated
    private RespRelatorio telefoneContato;

    @Enumerated
    private RespRelatorio temperaturaConfortavel;

    @Enumerated
    private RespRelatorio iluminacaoAdequada;

    @Enumerated
    private RespRelatorio tonnerPapel;

    @Enumerated
    private RespRelatorio funcionamento;

    @Enumerated
    private RespRelatorio atendeComunidade;

    @Enumerated
    private RespRelatorio atendeEscola;

    @Enumerated
    private RespRelatorio promocaoPessoal;

    @Enumerated
    private RespRelatorio cobrancaServico;

    @Enumerated
    private RespRelatorio doisMonitores;

    @Enumerated
    private RespRelatorio capacitacaoMc;

    @Enumerated
    private RespRelatorio cadastrousuario;

    @Enumerated
    private RespRelatorio cadeiras;

    @Enumerated
    private RespRelatorio mesaProfessor;

    @Enumerated
    private RespRelatorio armario;

    @Enumerated
    private RespRelatorio mesaComputador;

    @Enumerated
    private RespRelatorio mesaImpressora;

    @Enumerated
    private RespRelatorio projetor;

    @Enumerated
    private RespRelatorio roteador;

    @Enumerated
    private RespRelatorio impressoraEstabilizador;

    @Enumerated
    private RespRelatorio cameraMonitoramento;

    @Enumerated
    private RespRelatorio establilizador;

    @Enumerated
    private RespRelatorio servidores;

    @Enumerated
    private RespRelatorio estacaoCliente;

    @Enumerated
    private RespRelatorio monitorServidor;

    @Enumerated
    private RespRelatorio processadorServidor;

    @Enumerated
    private RespRelatorio hdServidor;

    @Enumerated
    private RespRelatorio monitorEstacao;

    @Enumerated
    private RespRelatorio processadorEstacao;

    @Enumerated
    private RespRelatorio memoriaEstacao;

    @Enumerated
    private RespRelatorio hdEstacao;

    @Enumerated
    private RespRelatorio soLivre;

    @Enumerated
    private RespRelatorio soWindows;

    @Enumerated
    private RespRelatorio gesac;

    @Enumerated
    private RespRelatorio outraConexao;

    @Enumerated
    private ConclusaoFormMinicom conclusao;

    @OneToMany(cascade = CascadeType.ALL)
    private Set<Documento> documentoo = new HashSet<Documento>();

    @ManyToOne
    private Servidor servidor_;
}
